From: Jonas Dreßler Date: Sat, 24 Oct 2020 18:51:56 +0000 (+0200) Subject: windowPreview: Handle case where window already is part of layout X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~616^2^2~771 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=0b2430128a4d34bcb0e8a5d79a731ce05c4e084c;p=gnome-shell.git windowPreview: Handle case where window already is part of layout We sometimes add dialogs multiple times to the WindowPreview, for example for modal dialogs we receive both the "window-added" and the "window-entered-monitor" signal, which means we call WindowPreview.addDialog() twice. We handle that fine already in the WindowPreviewLayout and return NULL in case the window already was added, so simply handle that NULL return value and bail out of WindowPreview.addDialog() in this case. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1482 --- diff --git a/js/ui/windowPreview.js b/js/ui/windowPreview.js index 5630ba5e3..d379703dd 100644 --- a/js/ui/windowPreview.js +++ b/js/ui/windowPreview.js @@ -500,6 +500,8 @@ var WindowPreview = GObject.registerClass({ _addWindow(metaWindow) { const clone = this._windowContainer.layout_manager.addWindow(metaWindow); + if (!clone) + return; // We expect this to be used for all interaction rather than // the ClutterClone; as the former is reactive and the latter